Determination of custom information based on golfer performance data

ABSTRACT

The present embodiments relate to the determination of custom information based on golfer performance data. In one embodiment, a device receives round information that identifies a round of golf of a user. Based at least in part on the round information, at least one performance category exception based on a performance category criterion is determined. At least one content item from a plurality of content items is selected based on the at least one performance category exception. A custom report is generated that identifies the at least one performance category exception and includes the at least one content item.

RELATED APPLICATIONS

This application claims the benefit of provisional patent application Ser. No. 61/708,915, entitled “REAL-TIME COLLECTION OF GOLFER DATA AND ANALYSIS THEREOF,” filed Oct. 2, 2012, the disclosure of which is hereby incorporated herein by reference in its entirety.

TECHNICAL FIELD

The present embodiments relate to the determination of custom information based on golfer performance data.

BACKGROUND

Many players of a sport are interested in improving their performance in the sport. Players may take lessons and may practice a substantial amount of time in pursuit of improved performance. The performance of a player in certain sports, such as golf, not only depends in part on a highly complicated motion, such as swinging a golf club, but on myriad other factors that may differ on a shot-by-shot basis, such as lie, wind, obstacles and the like, all of which should be taken into consideration when hitting a particular shot.

Many deficiencies of golfers may be identifiable only with knowledge of past performance. For example, a golfer may not realize that their chipping is particularly poor compared to other types of shots, and may not seek out advice on techniques for improving chipping performance. Many golfers play the same courses repeatedly, and may not realize that certain holes cause the golfer more problems than other holes.

It is impractical for most golfers while playing multiple rounds of golf to take meticulous notes that may shed light on his particular deficiencies, or on which aspects of a particular golf course are more problematic than others.

Accordingly, there is a need for mechanisms that at least in part automate the generation of information that describes a golfer's performance on a golf course, and the subsequent analysis and use thereof to provide custom information to the golfer to aid the golfer in improving in the sport.

SUMMARY

The present embodiments relate to the collection of golfer performance data, and the analysis thereof to provide custom information to a user based on the golfer performance data.

In one embodiment, a device receives round information that identifies a round of golf of the user. Based at least in part on the round information, at least one performance category exception is determined based on a performance category criterion. At least one content item is selected from a plurality of content items based on the at least one performance category exception. The plurality of content items comprises articles that provide advice relating to one or more of the golf performance categories. A custom report is generated that identifies the at least one performance category exception and includes the at least one content item. In one embodiment, the round information is collected substantially in real-time, either as the round of golf is played, or immediately thereafter. The custom report may then be generated substantially instantaneously, and provided to the user immediately following the conclusion of the round of golf.

In one embodiment, the round information includes a plurality of hole datasets, each of which corresponds to a different hole of the holes played in the round of golf. Each hole dataset may comprise a plurality of shot datasets, each shot dataset corresponding to a particular host played in the corresponding hole. Each shot dataset may identify, for example, a club identifier that identifies the club used for the respective shot, and distance information that identifies a distance a golf ball travelled when struck by the club.

In one embodiment, the performance category criterion is based on a total score of the round of the user and a model performance function. An actual performance value based on the model performance function and the total score is calculated. The at least one performance category exception is determined based on the actual performance value.

In another embodiment, the performance category criterion is based on an historical performance of the user in a performance category associated with the performance category criterion. Historical data that identifies the historical performance of the user in the performance category is accessed. A current performance of the user in the performance category during the round is compared to the historical performance. The at least one performance category exception is determined based on the comparison. In some embodiments, a performance category exception may be determined based on any one of a plurality of different performance category criteria.

The historical data may comprise data identifying previous performances of the user at the same golf course at which the current round is being played.

In one embodiment, based at least in part on the round information, a set of performance category exceptions may be determined. Each performance category exception corresponds to a different performance category. For each respective performance category exception in the set, at least one content item that provides advice relating to the corresponding performance category is selected. A priority for performance category exceptions in the set is determined. The custom report includes the at least one content item for each respective performance category in order of the priority.

In another embodiment, a tip report based on historical performance is provided. It is determined that the user is playing a hole on a golf course. Historical data that identifies a previous performance of the user is accessed. Based on the historical data, it is determined that a tip criterion has been met. Based on the tip criterion, a tip report for the user is generated.

In one embodiment, it is determined that the user is playing the hole on the golf course in response to receiving, from the user, a request for information about the hole. In another embodiment, it is determined that the user is playing the hole on the golf course by determining the location of the user, accessing golf course data, and determining, based on the location of the user and the golf course, data that the user is playing the hole.

In one embodiment, the previous performance comprises a previous performance of the user on the hole. In another embodiment, the previous performance comprises a previous performance of the user during the current round of golf.

Those skilled in the art will appreciate the scope of the present disclosure and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure.

FIG. 1 is a block diagram of a system in which embodiments may be practiced;

FIG. 2 is a flowchart of a process for determining custom information based on golfer performance data according to one embodiment;

FIG. 3 is a diagram illustrating round information according to one embodiment;

FIG. 4 is a block diagram of a NFC tag according to one embodiment;

FIG. 5 is a block diagram illustrating content items according to one embodiment;

FIG. 6 is a block diagram illustrating a plurality of performance categories according to one embodiment;

FIG. 7 is a block diagram illustrating performance category criteria according to one embodiment;

FIG. 8 is a diagram of an example scorecard section of a customer report according to one embodiment;

FIG. 9A is a diagram of a portion of an example analytics section according to one embodiment;

FIG. 9B is a diagram of another portion of the example analytics section illustrated in FIG. 9A;

FIG. 10 is a diagram of a portion of an article section according to one embodiment;

FIG. 11 is a diagram of a portion of a course map section according to one embodiment;

FIG. 12 is a block diagram of a system in which additional embodiments may be practiced;

FIG. 13 is a flowchart of a process for providing a tip report according to one embodiment;

FIG. 14 is a diagram of an example of a user interface that may be displayed on a display to provide a custom tip report to a user according to one embodiment;

FIG. 15 is a block diagram illustrating the server device in greater detail according to one embodiment; and

FIG. 16 is a block diagram illustrating a mobile device in greater detail according to one embodiment.

DETAILED DESCRIPTION

The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.

The present embodiments relate to the collection of golfer performance data, and the analysis thereof to provide custom information to a user based on the golfer performance data. In some embodiments, the custom information is in the form of a post-round custom report that includes content, such as articles, drills, and/or tips, for improving the performance of the user in performance categories that the user was deemed to be deficient. For example, if, based on the golfer performance data, it was determined that the user was deficient in driving accuracy and chipping, the custom report may include content, such as articles, drills, and/or tips, on how to improve driving accuracy and chipping. The custom report may include additional information regarding the user's current round of golf, including, for example, analytics that provide an analysis of the golfer's performance in one or more performance categories, including comparing the golfer's performance to other golfers deemed to be similar to the golfer, as well as tour professional golfers. The custom report may also include a course map depicting each hole on the course and bearing information summarizing the user's performance on each hole.

In other embodiments, golfer performance data may be analyzed and used to generate tip reports substantially in real time while a user is playing a round of golf.

FIG. 1 is a block diagram of a system 10 in which embodiments may be practiced. The system 10 includes a mobile device 12 associated with a user 14. The user 14 may be a golfer who is preparing to play a round of golf, is playing a round of golf, or recently has played a round of golf. The mobile device 12 may comprise, by way of non-limiting example, a smart phone such as an Android®- or IOS®-based smart phone, or a computing tablet. In one embodiment, at least part of the functionality disclosed herein may be implemented on the mobile device 12 via an application module 16 that may have been downloaded on the mobile device 12 at a time prior to the round of golf. In one embodiment, the mobile device 12 includes a global positioning system (GPS) module 18, sometimes referred to as a GPS receiver, that is operable to determine a location of the mobile device 12 at a point in time, and provide the location to, for example, the application module 16.

The mobile device 12 preferably includes a display 20 that, as described in greater detail herein, may facilitate one or both of the collection of golfer performance data, and the presentation of custom information generated based on the golfer performance data. In some embodiments, the display 20 may comprise a touch-sensitive surface. In one embodiment, the mobile device 12 includes, or is coupled to, a near field communication (NFC) module 22 that is capable of reading information contained in a NFC tag 24 integrated into a golf club 26. For purposes of illustration, functionality provided by any of the elements or components of the mobile device 12 may be attributed to the mobile device 12 generally, rather than to a particular element or component of the mobile device 12.

In a client-server embodiment, the mobile device 12 may communicate in real-time with a server device 28. Such communications may be facilitated with one or more networks 30, which may comprise any network or networks suitable or appropriate for facilitating communications between the mobile device 12 and the server device 28, including by way of non-limiting example, WiFi® networks, cellular networks, or any combination thereof.

The server device 28 is communicatively coupled to a storage 32, in which various information may be stored, including, historical data 34 of the user 14, which may comprise, for example, golfer performance data that identifies the performance of the user 14 on previous rounds of golf played by the user 14, and/or the performance of the user 14 on the current round of golf being played by the user 14. Course data 36 may identify information about various golf courses, including hole-layout information, distances, par information, a course map, and the like. Content items 38 comprise content, such as articles, tips, drills, videos, video lessons, audio tracks, audio lessons, and the like. The content items 38 may be indexed, or otherwise organized, in terms of performance categories, as will be discussed in greater detail herein. Performance category criteria 40 identify one or more criterion that are used to determine performance category exceptions based on the historical data 34. Tour pro data 42 comprises statistics about current PGA professionals, and may be used to provide analytical or comparative data to the user 14.

In addition to other functionality, in one embodiment the server device 28 includes an exception determination function 44. The exception determination function 44 utilizes the historical data 34 and performance category criteria 40 to determine performance category exceptions. Custom information provided to the user 14 may in part be based on any determined performance category exceptions.

While the embodiments will be discussed in the context of a client-server architecture as illustrated in FIG. 1, the embodiments are not limited to a client-server architecture, and in other embodiments, the information and functionality described as being implemented by the server device 28 and storage 32 may instead be performed by the mobile device 12.

FIG. 2 is a flowchart of a process for determining custom information based on golfer performance data according to one embodiment, and will be discussed in conjunction with FIG. 1. Preliminarily, during a round of golf, the mobile device 12 captures round information 46 that identifies the performance of the user 14. The round information 46 will be discussed in greater detail herein with regard to FIG. 3, but in summary, the round information 46 may include, by way of non-limiting example, the particular golf club used for a shot and the distance the ball travelled when struck by the particular golf club. The round information 46 may be collected automatically by the mobile device 12 without user input, or via user input, or by a combination of automatic collection and user input.

In one embodiment, each golf club 26 may include a NFC tag 24 in which information has been coded, including, for example, a golf club identifier (ID) that identifies the respective golf club 26. For example, a NFC tag 24 associated with a 3-wood would identify the golf club as a 3-wood, and a NFC tag 24 associated with a putter would identify the golf club as a putter.

In this embodiment, prior to initiating a shot during a round of golf, the user 14 may move the golf club 26 that the user 14 is preparing to use to strike the golf ball from a first location L1 to a second location L2 that is in NFC proximity of the NFC module 22. The NFC module 22 may then read the NFC tag 24 and determine that the golf club is, for example, a driver. The NFC module 22 may provide this information to the application module 16. The application module 16 may then automatically request from the GPS module 18 a current location of the mobile device 12. Alternatively, the mobile device 12 may present to the user 14 via the display 20 a user interface requesting the entry of certain information, such as which golf club is being used for the shot.

Assume that the user 14 then uses the golf club 26 to strike the golf ball. The user 14 travels to the new location of the golf ball. In one embodiment, the user 14 may then, standing adjacent to the position of the golf ball, bring another golf club 26 in proximity to the NFC module 22. For example, assume that the user 14 is now approximately 150 yards away from the green, and selects a 7-iron. The user 14 brings the 7-iron in proximity to the NFC module 22, which reads the NFC tag 24 and provides this information to the application module 16. The application module 16 may then automatically request from the GPS module 18 a current location of the mobile device 12. The application module 16 may determine the difference between the previous location of the mobile device 12 and the current location of the mobile device 12 as the distance travelled by the ball when last struck by the user 14.

Alternatively, the user 14 may, via a user interface, enter an estimate of the distance the ball travelled, or may manually select a location determination icon which prompts the GPS module 18 to determine the current location and provide the current location to the application module 16.

After each shot, the application module 16 may request that additional information be provided by the user 14, such as characterizing the flight of the shot, such as a hook, slice, pull, or push.

In one embodiment, the mobile device 12 may collect the round information 46 hole-by-hole, or shot-by-shot, and provide the round information 46 to the server device 28 after the user 14 has finished the round of golf. In other embodiments, the mobile device 12 may provide the round information 46 to the server device 28 after each shot, or after each hole has been completed. Providing the round information 46 incrementally during the round of golf may help facilitate additional functionality, such as the real-time generation and presentation of custom tip reports to the user 14 as the user 14 plays the round of golf, as discussed in greater detail below. The server device 28 stores the round information 46 in the historical data 34.

Referring now to FIG. 2, assume that the server device 28 has received the round information 46, either in a single collection of information or incrementally as discussed above, but that, in either event, the user 14 has completed the round of golf (FIG. 2, block 1000). The server device 28 accesses the performance category criteria 40. The performance category criteria 40 comprise one or more criteria for each of a plurality of different performance categories. Thus, a performance category criterion 40 may be associated with, or correspond to, a particular performance category of a plurality of different performance categories.

In one embodiment, the performance categories comprise, by way of non-limiting example, a driving distance performance category, a driving accuracy performance category, a greens in regulation performance category, a ball striking performance category, a scrambling: pitch performance category, a scrambling: chip performance category, a short/lag putting performance category, a scrambling: sand performance category, a pitching accuracy performance category, a chipping accuracy performance category, a bunker/sand accuracy performance category, and a general putting performance category.

The server device 28 then determines at least one performance category exception based at least in part on the round information 46 and the performance category criteria 40 (FIG. 2, block 1002). Based on the at least one performance category exception, the server device 28 accesses the content items 38 (FIG. 2, block 1004). The content items 38 may be indexed, or otherwise ordered, based on one or more performance categories. The content items 38 may comprise, for example, articles, tips, or drills that provide advice relating to one or more of the performance categories. The server device 28 generates a custom report 48, and sends the custom report 48 to the mobile device 12 for presentation to the user 14 (FIG. 2, blocks 1006 and 1008).

The server device 28 may generate the custom report 48 substantially in real-time, such as in seconds, after the completion of the round of golf. In particular, by the time the user 14 arrives at the clubhouse, the user 14 may review the custom report 48 via the display 20 on the mobile device 12 and receive immediate feedback, including custom advice, such as articles, drills, and/or tips, on those performance categories in which the user 14 was deemed to be deficient based on the round information 46 and the performance category criteria 40.

The custom report 48, in one embodiment, may comprise multiple different sections. A scorecard section 50 may provide details, such as the hole-by-hole performance of the user 14, the par of each hole, and any additional or suitable information relating to the performance of the user 14. An analytics section 52 may include information analyzing the performance of the user 14 in all of the performance categories, or in a subset of the performance categories in which the user 14 is deemed to be most deficient, such as the three performance categories in which the user 14 performed worst. The content of the analytics section 52 may include, by way of non-limiting example, for the respective performance category, average information, such as the average length of the drives in the round, minimum and maximum information, such as the shortest and longest drives of the day, comparisons to PGA tour professionals, and/or other golfers deemed to be similar to the user 14 based on a criterion, such as the overall score of the round of golf. The content of the analytics section 52 may also include content items 38, such as drills and/or tips, for improving the performance of the user 14 in a particular performance category.

An articles section 54 may include more detailed articles, selected from the content items 38, relating to those performance categories in which the user 14 was deemed to be most deficient. A course map section 56 may include images depicting the holes of the golf course, and identifying the performance, such as the ball locations and clubs used, during the round of golf.

FIG. 3 is a block diagram illustrating the round information 46 according to one embodiment. In this embodiment, the round information 46 may include miscellaneous information 58, such as the golf course being played, the date, the score at the end of the round, user-generated photographs, lengths of the first putt on each green, number and types of scrambling shots, numbers of fairways hit, and the numbers of greens hit in regulation. Some of the miscellaneous information 58 may be captured automatically, and other of the miscellaneous information 58 may be collected by user input from the user 14. For example, the mobile device 12 may provide a user interface on the display 20 that allows the user 14 to identify the particular golf course at which the round of golf is being played. The mobile device 12 may determine the date automatically. The user 14 may enter the final score, or the final score may be determined by the mobile device 12 based on other information obtained, such as shot-by-shot information. The mobile device 12 may allow the user 14 to take photographs with the mobile device 12, and provide the photographs for subsequent inclusion into the custom report 48.

The mobile device 12 may request that the user 14 provide the lengths of the first putt for each green, or may determine such information based on GPS location information. The mobile device 12 may request that the user 14 provide number of fairways hit. The number of greens hit in regulation may be provided by the user 14, or may be automatically determined by the mobile device 12 based on shot-by-shot information that includes the club identifiers.

In one embodiment, the round information 46 includes a plurality of hole datasets 60-1-60-18 (generally, hole datasets 60), each of which corresponds to a hole in the round of golf. Each hole dataset 60 comprises one or more shot datasets 62-1-62-N (generally, shot datasets 62), each of which corresponds to a shot played in the respective hole. Each shot dataset 62 may include, by way of non-limiting example, a club identifier field 64 that identifies the club used for the shot. Each shot dataset 62 may also include a shot distance field 66 that identifies the distance the ball travelled after being struck by the club. A shot characterization field 68 allows the user 14 to characterize the shot, such as a slice, a hook, a push, or a pull, for example. A begin location field 70 identifies the location of the ball prior to being struck by the club. An end location field 72 identifies the location of the ball after it was struck by the club. The fields discussed herein are exemplary only, and may include additional information, or may include less information, than that described herein.

Distance information may be provided explicitly in a shot dataset 62, such as in the shot distance field 66, or may be determined based on other information provided in the shot dataset 62, such as the begin location field 70 and the end location field 72.

FIG. 4 is a diagram of a NFC tag 24 according to one embodiment. In this embodiment, the NFC tag 24 may be shaped to fit within a hole 74 of a golf grip of the golf club 26. An enlarged nub portion 76 located on a stem 78 of the NFC tag 24 may ensure that the NFC tag 24 does not easily fall out of the golf grip. Each NFC tag 24 includes a NFC chip 80 in which information may be encoded, such as the club identifier that identifies the golf club 26.

In one embodiment, the NFC tag 24 is passive and does not require a battery source. The NFC tag 24 may be read by the NFC module 22 (FIG. 1) when brought in close proximity to the NFC module 22, and thereby inform the mobile device 12 which club the user 14 will use, or has used, on a particular shot. The NFC tag 24 may be reusable, such that the NFC tag 24 may be pulled from the golf grip on the golf club 26, and re-used in another set of golf clubs.

FIG. 5 is a block diagram illustrating a plurality of content items 38-1-38-N according to one embodiment. The content items 38 may comprise, for example, articles, drills, and/or tips relating to golf. The content items 38 may comprise textual data, image data, video data, and/or audio data. In one embodiment, the content items 38 include videos illustrating various drills and tips. Each content item 38 may include information such as a content type field 81 that may identify a type of content, such as an article, a drill, a tip, a video, an audio file, a short summary, or the like. An author field 82 may identify the author of the content item 38. A topic field 84 may identify a general topic of the content item 38, such as putting, driving, chipping, or the like. A category field 86 may identify one or more performance categories to which the content item 38 relates. A priority ranking field 88 may identify a priority of the content item 38 with respect to other content items 88, based on, for example, the author of the content item 38, and the relevance of the content item 38 to the topic identified in the topic field 84 and/or the category identified in the category field 86. A condensed version field 90 may provide a link to a summary version of the content item 38, and may be useful, for example, in embodiments wherein real-time custom tips are provided to the user 14. A full version field 92 may provide a link to the full version of the content item 38.

As the server device 28 determines one or more performance category exceptions, the server device 28 may access the content items 38 based on any of the information contained in the fields 81-92. For example, if the server device 28 determines that the user 14 is deficient in a driving performance category, the server device 28 may select a content item 38 identified by the category field 86 as relating to driving performance.

FIG. 6 is a block diagram illustrating a plurality of performance categories 94-1-94-N (generally, performance categories 94) according to one embodiment. In this embodiment, example performance categories include a driving distance performance category 94-1, a driving accuracy performance category 94-2, a greens in regulation performance category 94-3, a ball striking performance category 94-4, a scrambling: pitch performance category 94-5, a scrambling: chip performance category 94-6, a short/lag putting performance category 94-7, a scrambling: sand performance category 94-8, a pitching accuracy performance category 94-9, a chipping accuracy performance category 94-10, a bunker/sand accuracy performance category 94-11, and a general putting performance category 94-12. The performance categories 94 presented herein are merely illustrative, and the embodiments disclosed herein are applicable to any number of different performance categories.

FIG. 7 is a block diagram illustrating performance category criteria 40 according to one embodiment. The performance category criteria 40 relate to the driving distance performance category 94-1 (FIG. 6). In this example, the performance category criteria 40 includes three criteria 96-1-96-3. If any of the three criteria 96-1-96-3 are met, then the server device 28 determines a performance category exception for the driving distance performance category 94-1. A criterion 96-1 includes a model performance function 98, which is a mathematical function from which a performance value may be calculated based on historical data 34, in particular, the total score of the round of golf identified in the round information 46. Thus, if the average drive of the user 14 for the current round of golf identified in the round information 46 is more than 20 yards less than the performance value, the server device 28 determines a performance category exception for the driving distance performance category 94-1. The model performance function 98 may be determined, according to one embodiment, by analyzing data associated with highly skilled golfers, such as those on the professional golf circuit. The model performance function 98 may be derived based on the performance of such individuals over a relatively long period of time.

The criterion 96-2 identifies a predetermined threshold of, in this example, 180 yards. Thus, if the average drive of the user 14 for the current round of golf identified in the round information 46 is less than 180 yards, the server device 28 determines a performance category exception for the driving distance performance category 94-1.

The criterion 96-3 is also based on the historical data 34, and in particular based on an historical average drive distance of the user 14. Thus, if the average drive of the user 14 for the current round of golf identified in the round information 46 is more than 20 yards less than an historical average drive distance of the user 14, the server device 28 determines a performance category exception for the driving distance performance category 94-1. The amount of historical data 34 used by the server device 28 may be configuration dependent. For example, the server device 28 may only use the last three rounds of golf, last five rounds of golf, or last seven rounds of golf, for example, to determine the historical average of the user 14. Alternatively, the server device 28 may use information specific to the particular golf course. For example, the server device 28 may only use the historical data 34 that pertains to the same respective golf course on which the current round of golf is being played.

Table 1, below, provides additional illustrative performance category criteria for the performance categories 94-1-94-12, according to one embodiment.

TABLE 1 FORMULA PERFORMANCE PERFORMANCE (MODEL PERFORMANCE CATEGORY CATEGORY FUNCTION) CRITERA EXPLANATION Driving Distance 1.364504/(.004771 + .0000886 * 1. IF avg. dist. is >20 yds. Equation is the (score − 70)) less than formula expected avg. predict distance based on 2. IF avg. dist. is <180 score, on par 4 & 5 yards holes using any club 3. IF avg. dist. is >20 yds. off the tee less than user historical avg. Driving Accuracy (103.4 − score)/0.4 * [No. 1. IF 2 fairways < formula Equation is expected Par 4&5 holes using prediction using number of fairways driver off tee] round score hit based on score, 2. IF <3 fairways during using data from par 4 user's current round & 5 holes with driver 3. IF 2 fairways < off tee historical average number of fairways Ball Striking (95.1 − score)/0.3 1. IF % is at least 10% < Equation is expected formula prediction percentage of greens 2. IF % <25% hit from par 3 tees 3. IF % is 20% < historical and par 4 fairways average % based on score Scrambling: ((88.9 − score)/0.3)/100 1. IF % is 20% < formula Equation is expected Pitching prediction using percentage of up- score and-downs on holes 2. IF % <10% with only pitches, 3. IF % <20% under with no chips or user's historical bunkers average Scrambling: 6 + (score − 70) * 0.66 1. IF distance >6 feet Equation is expected Pitching over formula distance of first putt Accuracy prediction using after a pitch on holes score with only pitches, no 2. IF distance >25 feet chips or bunker shots 3. IF distance >6 feet over average distance Scrambling: ((94.1 − score)/0.3)/100 1. IF % is at least 10% < Equation is expected Chipping formula prediction percentage of up- using score and-downs on holes 2. IF % <25% with only chips, with 3. IF % is 20% < historical no pitches or bunkers average % Scrambling: 2 + (score − 70) * 0.33 1. IF distance >3 feet Equation is expected Chipping over formula distance of first putt Accuracy prediction using after a chip on holes score with only chips, no 2. IF distance >12 feet pitches or bunker 3. IF distance >3 feet shots over user's average historical distance Scrambling: ((83.8 − score)/0.2)/100 1. IF % is 20% < formula Equation is expected Bunker prediction using percentage of up- score and-downs on holes 2. IF % is <10% with only greenside 3. IF % is 20% < user's bunkers, with no historical average % pitches or chips Scrambling: 10 + (score − 70) 1. IF distance is >6 feet Equation is expected Bunker Accuracy over formula distance of first putt prediction using after a greenside score bunker on holes with 2. IF distance is >35 feet only greenside 3. IF distance >6 feet bunkers, and no over user's average pitches or chips historical distance Putting 10 + (score − 70) 1. IF total putts >3 over Equation is expected formula prediction total number of putts using score for each round 2. IF total putts >38 3. IF total putts >3 over user's historical average putts Lag Putting 100 − [(score − 1. IF % of 3 putt Equation is expected 70) * 0.39 + 2.38] avoidance < formula 3 putt avoidance on prediction using all holes where first score putt is 21-30 feet 2. IF % of 3 putt avoidance <85% 3. IF % of 3 putt avoidance 10% < user's avg. historical 3 putt avoid Short Putting −0.86 * score + 137.1 1. IF % is 10% < Equation is expected formula prediction putts made on 1st using score putts between 3-6 2. IF % <50% feet 3. IF % is 10% < user's historical average of % made

FIG. 8 is a diagram of an example scorecard section 50 of the custom report 48 according to one embodiment. The scorecard section 50 may include an identification section 100 that identifies, for example, the golf course at which the round of golf was played and the date. The scorecard section 50 may also include a table 102 that identifies the performance of the user 14 during the round, including for example, the number of shots per hole, the number of putts per hole, the total score, and the like.

FIG. 9A is a diagram of a portion of an example analytics section 52 of the custom report 48 according to one embodiment. FIG. 9A relates to the driving distance performance category 94-1. The analytics section 52 may include a statistics section 104 that identifies various statistics determined from the round information 46, such as an average drive length, maximum drive length, and minimum drive length (not illustrated). A comparison section 106 identifies the performance of the user 14 to various other metrics, including, for example, the average drive of the user 14 based on the historical data 34, the average drive of golfers deemed to be similar to the user 14, and the average drive of PGA tour professionals. A drill section 108 may identify a drill that is useful in improving the performance of the user 14 in the driving distance performance category 94-1. The content of the drill section 108 may be obtained from the content items 38. A tip section 110 may provide advice that is useful in improving the performance of the user 14 in the driving distance performance category 94-1. The content of the tip section 110 may be obtained from the content items 38. An analytics section 112 may provide an analysis of the performance of the user 14 based on the round information 46. A similar players section 114 may provide a comparison of the performance of the user 14 to other players who shoot similar scores.

FIG. 9B is a diagram of another portion of the example analytics section 52 illustrated in FIG. 9A. FIG. 9B relates to the driving accuracy performance category 94-2. The analytics section 52 may include a statistics section 116 that identifies various statistics determined from the round information 46, such as a percentage of the drives that went left of the fairway, a percentage of the drives that hit the fairway, and a percentage of the drives that went right of the fairway. A comparison section 118 identifies the performance of the user 14 to various other metrics, including, for example, the number of fairways hit in the current round of golf by user 14, the number of fairways hit in previous rounds of golf based on the historical data 34, the average number of fairways hit by golfers deemed to be similar to the user 14, and the average number of fairways hit by PGA tour professionals. A drill section 120 may identify a drill that is useful in improving the performance of the user 14 in the driving accuracy performance category 94-2. The content of the drill section 120 may be obtained from the content items 38. A tip section 122 may provide advice that is useful in improving the performance of the user 14 in the driving accuracy performance category 94-2. The content of the tip section 122 may be obtained from the content items 38. An analytics section 124 may provide an analysis of the performance of the user 14 based on the round information 46. A similar players section 126 may provide an analysis of the performance of the user 14 to other players who shoot similar scores.

FIG. 10 is a diagram of a portion of the article section 54 according to one embodiment. The article section 54 may include one or more articles that provide advice on the performance categories in which the user 14 is deemed deficient based on the round information 46.

In one embodiment, the server device 28 may determine, based at least in part on the round information 46, a set of performance category exceptions, each performance category exception corresponding to a different performance category. For each respective performance category exception in the set, the server device 28 selects at least one content item 38 that provides advice relating to the corresponding performance category. The server device 28 may determine a priority for performance category exceptions in the set, and include in the custom report 48 the content items 38 in order of the priority. The priority may be based on, for example, a deviation from a predicted score using a corresponding model performance function, and/or based on the historical data 34 associated with the user 14. Thus, as the user 14 reviews the article section 54, the user 14 is presented with content items 38 in an order of performance categories based on the priority.

FIG. 11 is a diagram of a portion of the course map section 56 of the custom report 48 according to one embodiment. The course map section 56 may include, for each hole in the round, a hole section 128, which may depict, by way of non-limiting example, an illustration 130 of the hole, locations 132 of the golf ball after the ball was struck by the user 14, and shot data 134 that identifies the club used to strike the ball, and the distance travelled by the ball after being struck by the club.

FIG. 12 is a block diagram of a system 136 in which additional embodiments may be practiced. The system 136 includes the server device 28, the mobile device 12, the network 30, and the storage 32. In this embodiment, the server device 28 includes a tip report function 138. The tip report function 138 generates one or more custom tip reports 140 based on the historical data 34 of the user 14 as the user 14 plays a round of golf.

FIG. 13 is a flowchart of a process for providing a tip report 140 according to one embodiment. FIG. 13 will be discussed in conjunction with FIG. 12. Assume that the user 14 is on the golf course and preparing to play a hole. In one embodiment, at a time T1 the user 14 may access the mobile device 12 to request information about the hole, such as layout, or yardage. Specifically, the mobile device 12 may present a user interface on the display 20 for facilitating such information upon request by the user 14. Upon such request, the mobile device 12 sends a hole information request 144 to the server device 28. The server device 28 receives the hole information request 144 and accesses the course data 36 to provide the requested data to the mobile device 12. In one embodiment, the server device 28 may also determine, based on the hole information request 144 that the user 14 is playing the requested hole (FIG. 13, block 2000).

Based on this determination, the server device 28 accesses the historical data 34 to obtain previous performance data of the user 14 (FIG. 13, block 2002). The server device 28 also accesses tip criteria 145 that comprises a plurality of tip criteria that are used to determine if a tip report should be generated. The server device 28 may determine that a tip criterion 145 has been met (FIG. 13, block 2004). In response to this determination, at a time T2 the server device 28 generates a custom tip report 140 for presentation to the user 14, and sends the custom tip report 140 to the mobile device 12 (FIG. 13, block 2006)

The mobile device 12 receives the custom tip report 140 and presents the custom tip report 140 in a user interface 146 on the display 20. The custom tip report 140 may take any suitable format, as long as the custom tip report 140 contains advice on playing the present hole and is based on previous performance data of the user 14. In one embodiment, the user interface 146 may include an image 148 of the respective hole, and a user location indicator 150 that indicates the location of the user 14 on the hole. The location information may have been obtained by the mobile device 12, via the GPS module 18, and provided to the server device 28 when the user 14 initiated the hole information request 144. The user interface 146 may include a tip section 152 that contains a custom tip for the user 14 based on performance data obtained from the historical data 34. In this example, the tip section 152 identifies a previous performance of the user 14, and based on such previous performance, and the current weather conditions, the tip section 152 recommends a particular type of shot for the user 14.

In one embodiment, the server device 28 may automatically determine that the user 14 is about to initiate play on a hole without concurrent input from the user 14. In such embodiment, the mobile device 12 may, from time to time, send GPS location information to the server device 28. The server device 28, based on previous data received from the mobile device 12, may know that the user 14 is playing a round of golf on a particular golf course. For example, the mobile device 12 may be sending round information 46 to the server device 28 on a shot-by-shot or hole-by-hole basis. The server device 28 may compare the received GPS location information to a map of the golf course, and when the GPS location information indicates that the user 14 is approaching, or has reached, a tee area of a hole, the server device 28 may generate a custom tip report 140 for the user 14, and provide the custom tip report 140 to the mobile device 12 for presentation to the user 14 prior to the time that the user 14 strikes the golf ball.

The historical data 34 used to determine the previous performance may comprise previous performance data from one or more previous rounds of golf, previous performance during the current round of golf, or any combination thereof. In one embodiment, as the user 14 initially starts to play the round, the previous performance data used by the server device 28 may comprise the last three rounds of golf played by the user 14, or the last one or more rounds of golf that the user 14 played on this particular golf course. As the user 14 completes a number of holes on the golf course, the mobile device 12 may provide the server device 28 round information 46 that identifies the performance of the user 14 on such holes, and the server device 28 may begin to use the previous performance of the current round of the user 14 to generate the custom tip report 140. For example, if the user 14 is approaching a par 5 hole, the server device 28 may use the average number of fairways hit from the previous three holes in which a driver was used. In one embodiment, the server device 28 may access the historical data 34 and analyze previous performance by the user 14 on the same golf course from previous rounds of golf, and determine that one or more holes constitute “blow-up” holes where the user 14 routinely scores poorly on the respective one or more holes. The threshold for determining whether a hole constitutes a blow-up hole may be any desired threshold, such as an average of three strokes over par.

The tip criteria 145, similar to the performance category criteria 40, may comprise any suitable criterion or criteria, and may be based on one or more of the performance categories 94. In some embodiments, the performance category criteria 40 may comprise the same criteria as the tip criteria 145. Upon determining that a tip criterion 145 has been met, the server device 28 accesses the content items 38, searches for a content item 38 of a type equal to “TIP”, and is of the same performance category as that of the tip criterion 145 that was met.

FIG. 14 is a diagram of an example of another user interface 154 that may be displayed on the display 20 to provide a custom tip report 140 to the user 14 according to one embodiment. In this example, the user interface 154 includes a hole information section 156 that identifies the location and yardage of the respective hole. An image 158 depicts the respective hole, and a user location indicator 160 indicates the current location of the user 14. A tip section 162 identifies a performance category of the user 14 in which the user 14 is deemed to be deficient based on the current round of golf, and provides a tip based on the determined deficiency. In particular, the tip section 162 is generated based on the determination by the server device 28 that a driving distance performance category tip criterion was met, indicating that the drives of the user 14 in the current round of golf have been deficient.

Among other advantages, the present embodiment facilitates the generation of real-time custom tips for the user 14 based on recent previous performance in a timely and non-intrusive manner to aid the user 14 in improving their score while playing a round of golf.

FIG. 15 is a block diagram illustrating the server device 28 in greater detail according to one embodiment. The server device 28 may comprise any computing or processing device capable of executing software instructions to implement the functionality described herein, such as a work station, a computer server, a desktop or laptop computer, a switch, or the like. The server device 28 includes a processor 170, a system memory 172, and a system bus 174. The system bus 174 provides an interface for system components including, but not limited to, the system memory 172 and the processor 170. The processor 170 can be any commercially available or proprietary processor. Dual microprocessors and other multi-processor architectures may also be employed as the processor 170.

The system bus 174 may be any of several types of bus structures that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and/or a local bus using any of a variety of commercially available bus architectures. The system memory 172 may include non-volatile memory 176 (e.g., read only memory (ROM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.), and/or volatile memory 178 (e.g., random access memory (RAM)). A basic input/output system (BIOS) 179 may be stored in the non-volatile memory 176, and can include the basic routines that help to transfer information between elements within the server device 28. The volatile memory 178 may also include a high-speed RAM, such as static RAM for caching data.

The server device 28 may include the computer-readable storage 32, which may comprise, for example, an internal hard disk drive (HDD) (e.g., enhanced integrated drive electronics (EIDE) or serial advanced technology attachment (SATA)), HDD (e.g., EIDE or SATA) for storage, flash memory, or a network-attached storage device. The computer-readable storage 32 and other drives, associated with computer-readable and computer-usable media, provide non-volatile storage of data, data structures, computer-executable instructions, and the like. Although the description of computer-readable media above refers to an HDD, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as Zip disks, magnetic cassettes, flash memory cards, cartridges, and the like, may also be used in the exemplary operating environment, and further, that any such media may contain computer-executable instructions for performing novel methods of the disclosed architecture.

A number of modules can be stored in the computer-readable storage 32 and in the volatile memory 178, including an operating system 180 and one or more program modules 182, which may implement the functionality described herein in whole or in part, including, for example, functionality associated with the exception determination function 44, the tip report function 138, and other processing and functionality described herein.

All or a portion of the embodiments may be implemented as a computer program product stored on a transitory or non-transitory computer-usable or computer-readable storage medium, such as the computer-readable storage 32, which includes complex programming instructions, such as complex computer-readable program code, configured to cause the processor 170 to carry out the steps described herein. Thus, the computer-readable program code can comprise software instructions for implementing the functionality of the embodiments described herein when executed on the processor 170. The processor 170, in conjunction with the program modules 182 in the volatile memory 178, may serve as a control system for the server device 28 that is configured to, or adapted to, implement the functionality described herein.

The server device 28 may also include a communication interface 184 suitable for communicating with the network 30, and/or with other devices, as appropriate.

FIG. 16 is a block diagram illustrating the mobile device 12 in greater detail according to one embodiment. The mobile device 12 may comprise any computing or processing device capable of executing software instructions to implement the functionality described herein, such as, by way of non-limiting example, a smart phone such as an Android®- or IOS®-based smart phone, or a computing tablet, or the like. The mobile device 12 includes a processor 190, a system memory 192, and a system bus 194. The system bus 194 provides an interface for system components including, but not limited to, the system memory 192 and the processor 190. The processor 190 can be any commercially available or proprietary processor. Dual microprocessors and other multi-processor architectures may also be employed as the processor 190.

The system bus 194 may be any of several types of bus structures that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and/or a local bus using any of a variety of commercially available bus architectures. The system memory 192 may include non-volatile memory 196 (e.g., read only memory (ROM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.), and/or volatile memory 198 (e.g., random access memory (RAM)). A basic input/output system (BIOS) 200 may be stored in the non-volatile memory 196, and can include the basic routines that help to transfer information between elements within the mobile device 12. The volatile memory 198 may also include a high-speed RAM, such as static RAM for caching data.

A number of modules can be stored in the volatile memory 198, including an operating system 202 and one or more program modules 204, which may implement the functionality described herein in whole or in part, including, for example, functionality associated with the application module 16, and other processing and functionality described herein.

All or a portion of the embodiments may be implemented as a computer program product stored on a transitory or non-transitory computer-usable or computer-readable storage medium, which includes complex programming instructions, such as complex computer-readable program code, configured to cause the processor 190 to carry out the steps described herein. Thus, the computer-readable program code can comprise software instructions for implementing the functionality of the embodiments described herein when executed on the processor 190. The processor 190, in conjunction with the program modules 204 in the volatile memory 198, may serve as a control system for the mobile device 12 that is configured to, or adapted to, implement the functionality described herein.

The mobile device 12 may also include a communication interface 206 suitable for communicating with the network 30, and/or with other devices, as appropriate.

As discussed before, in some embodiments, the functionality described herein with regard to the server device 28 may be implemented on the mobile device 12, and the mobile device 12 may provide the functionality described herein without communications with the mobile device 12.

Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow. 

What is claimed is:
 1. A method for generating a custom report, comprising: receiving, by a device, round information that identifies a round of golf of a user; determining, based at least in part on the round information, at least one performance category exception based on a performance category criterion; selecting at least one content item from a plurality of content items based on the at least one performance category exception, the plurality of content items comprising articles that include advice relating to one or more performance categories; and generating a custom report that identifies the at least one performance category exception and includes the at least one content item.
 2. The method of claim 1, wherein the round information comprises a plurality of hole datasets, each hole dataset corresponding to a different hole of a plurality of holes played in the round and including at least one club identifier that identifies a golf club and distance information identifying a distance a golf ball travelled when struck by the golf club when the hole was played.
 3. The method of claim 2, wherein receiving the round information comprises receiving, for each hole of the plurality of holes played in the round, one of the hole datasets prior to the user playing a subsequent hole in the round.
 4. The method of claim 2, wherein each hole dataset comprises, for each respective shot played in the corresponding hole, a shot dataset, each shot dataset comprising a club identifier that identifies a club used for the respective shot, and distance information that identifies the distance the golf ball travelled when struck by the club.
 5. The method of claim 2, wherein each hole dataset comprises, for each respective shot other than a putt played in the corresponding hole, a shot dataset, each shot dataset comprising a club identifier that identifies a club used for the respective shot, and distance information that identifies the distance the golf ball travelled when struck by the club.
 6. The method of claim 1, wherein receiving the round information comprises receiving, after the round, the round information.
 7. The method of claim 1, wherein the performance category criterion is based on a total score of the round of the user and a model performance function, and wherein determining the at least one performance category exception comprises: calculating an actual performance value based on the model performance function and the total score; and determining the at least one performance category exception based on the actual performance value.
 8. The method of claim 1, wherein the performance category criterion is based on an historical performance of the user in a performance category associated with the performance category criterion, and wherein determining the at least one performance category exception comprises: accessing historical data that identifies the historical performance of the user in the performance category; comparing a current performance of the user in the performance category during the round to the historical performance; and determining the at least one performance category exception.
 9. The method of claim 8, wherein the historical data comprises data identifying at least one previous performance of the user at a same golf course as the round of golf.
 10. The method of claim 1, further comprising: determining, based at least in part on the round information, a set of performance category exceptions, each performance category exception corresponding to a different performance category; for each respective performance category exception in the set, selecting at least one content item that provides advice relating to the corresponding performance category; determining a priority for performance category exceptions in the set; and including in the custom report the at least one content item for each respective performance category in an order of the priority.
 11. The method of claim 1, wherein the at least one content item comprises a tip or a drill for improving the user's performance in the one or more performance categories.
 12. The method of claim 1, further comprising storing the round information for use in generating a subsequent custom report for a subsequent round of golf by the user.
 13. A device, comprising: a communications interface configured to communicate with a network; and a processor coupled to the communications interface and configured to: receive round information that identifies a round of golf of a user; determine, based at least in part on the round information, at least one performance category exception based on a performance category criterion; select at least one content item from a plurality of content items based on the at least one performance category exception, the plurality of content items comprising articles that include advice relating to one or more performance categories; and generate a custom report that identifies the at least one performance category exception and includes the at least one content item.
 14. A method for providing a tip report based on historical performance, comprising: determining, by a device, that a user is playing a hole on a golf course; accessing, by the device, historical data that identifies a previous performance of the user; determining, based on the historical data, that a tip criterion has been met; and generating, based on the tip criterion, a tip report for the user.
 15. The method of claim 14, wherein determining that the user is playing the hole on the golf course comprises: receiving, by the device, a request for information about the hole.
 16. The method of claim 14, wherein determining that the user is playing the hole on the golf course comprises: determining, via GPS coordinates, a location of the user; accessing golf course data; and based on the golf course data, determining that the user is playing the hole on the golf course.
 17. The method of claim 14, wherein the previous performance comprises a previous performance of the user on the hole.
 18. The method of claim 14, wherein the previous performance comprises a previous performance of the user during the current round of golf.
 19. The method of claim 14, wherein generating, based on the tip criterion, the tip report for the user further comprises: determining a performance category; selecting a content item based on the performance category; and effecting presentation of the tip report to the user.
 20. The method of claim 19, wherein the tip report identifies the performance category.
 21. The method of claim 20, wherein the tip report identifies the previous performance of the user.
 22. A device, comprising: a communications interface configured to communicate with a network; and a processor coupled to the communications interface and configured to: determine that a user is playing a hole on a golf course; access historical data that identifies a previous performance of the user; determine, based on the historical data, that a tip criterion has been met; and generate, based on the tip criterion, a tip report for the user. 